package cn.jt.service;

import cn.jt.dao.ItemDao;
import cn.jt.dao.ItemDescDao;
import cn.jt.pojo.Item;
import cn.jt.pojo.ItemDesc;
import cn.jt.vo.ImageVO;
import cn.jt.vo.ItemVO;
import cn.jt.vo.PageSysResult;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;

import javax.annotation.Resource;

@Service
public class ItemServiceIpml implements  ItemService{
    @Resource
    ItemDao itemDao;
    @Resource
    ItemDescDao itemDescDao;
    @Override
    public PageSysResult getItemList(PageSysResult pageSysResult) {
        QueryWrapper<Item> queryWrapper=new QueryWrapper();
        IPage<Item> iPage=new Page(pageSysResult.getPageNum(),pageSysResult.getPageSize());
        Boolean flag= StringUtils.hasLength(pageSysResult.getQuery());
        queryWrapper.like(flag, "title", pageSysResult.getQuery());
        iPage = itemDao.selectPage(iPage,queryWrapper);
        //long total=iPage.getTotal();
        pageSysResult.setTotal(iPage.getTotal());
        //List<User> rows=iPage.getRecords();
        pageSysResult.setRows(iPage.getRecords());

        return pageSysResult;
    }

    @Override
    public void updateItemStatus(Item item) {
        itemDao.updateById(item);
    }

    @Override
    public void deleteItemById(Item item) {
        itemDao.deleteById(item.getId());
    }

    @Override
    public void saveItem(ItemVO itemVO) {
        Item item= itemVO.getItem();
        item.setStatus(true);
        itemDao.insert(item);
        ItemDesc itemDesc=itemVO.getItemDesc();
        itemDesc.setId(item.getId());
        itemDescDao.insert(itemDesc);
    }


}
